Worldwide governmental and commercial entities continue to make more geospatial data available on the internet. The Open Geospatial Consortium (OGC) provides public specifications for a variety of geospatial web services such as Web Mapping Service, Web Feature Service, and Web Coverage Service. Web Mapping Services (WMS) are those services that interface client applications with server applications to provide a map image.
While the number of available WMS servers on the web has been growing steadily, searching for new WMS sources is often reduced to simply using an Internet search engine (e.g., GOOGLE™ or a similar search engine) to find WMS servers on the Internet.
The Open Geospatial Consortium has provided a number of public standards for geospatial web services, which have grown substantially in popularity and use over the past several years. However, while some client and server applications adhere to the OCG standards, the process for searching for OGC web services on the web is still mostly done manually. There have been attempts to automate the discovery process. For example, Refractions Research provides an online service at <http://www.refractions.net> for conducting an automated OGC web services survey using the Google APIs to search for WMS “Capabilities” documents by including strings such as “url:REQUEST=GetCapabilities” in the Google API search query. The Google API query returns found URLs of this form that are then processed to verify whether a URL returns a valid OGC web service “Capabilities” document.
A web mapping services server is most often advertised by a typical HTTP URL such as http://www.wmsServerHost.com/path?. Requests to the WMS server are constructed by configuring key-value pairs in the query part of the URL. For example, a URL of the form http://www.wmsServerHost.com/path?REQUEST GetCapabilities&SERVICE=WMS can return an XML “Capabilities” document that adheres to a WMS “Capabilities” schema as published by the Open Geospatial Consortium. A “Capabilities” document is analogous to a web service definition file in the WSDLISOAP web service model (W3C. 2001) and describes the map layers that the WMS server provides, along with the WMS server's contact info and metadata. A WMS client retrieves and scans this document to issue map requests for map layers featured within the document.
A number of WMS client applications provide a variety of mapping capabilities such as zoom in/out, map image transparency, and layering by configuring the HTTP key-value pairs according to user actions. OGC Web Mapping Service Capabilities documents validate to a common XML Schema published by the Open Geospatial Consortium, for example, the current XML schema W3C.2004. Programming to a common standard interface allows for a great amount of interoperability between WMS client and server implementations.
A map can be fetched from a WMS server by typing a WMS URL request in an internet browser to retrieve the map image. An example of a WMS URL request is <http://dmap.nrlssc.navy.mil/ogcwms/servlet/WMSServlet/GIDBImageServer.wms?Request=GetMap&SERVICE=WMS&Layers=NASA_BLUE&BBOX=−180.−90.0,180.0,90.0&WIDTH=800&HEIGHT=600&FORMAT=image/png>. This WMS URL request fetches a NASA Blue Marble PNG map image of 800 pixels width and 600 pixel height and geographic region of (−180, 90, 180, 90). The WMS server host is <dmap.nrlssc.navy.mil>, and the URL path is </ogcwms/servlet/GIDBImageServer.wms?>. The query part of the URL is: <Request=GetMap&SERVICE=WMS&Layers=NASA_BLUE&BBOX=−180.−90.0,180.0,90.0&WIDTH=800&HEIGHT=600&FORMAT=image/png>. The various map request parameters in the query part of this URL are HTTP key-value pairs that specify the geometric bounding box of the map image (e.g., pixel width and height).
As discussed previously, manually searching for new WMS systems can be accomplished by using an internet search engine (e.g., the GOOGLE™ search engine) to find WMS servers on the internet. In addition, Refractions Research (<www.refractions.net>) provides the ability to conduct an automated OGC web services survey using the Google™ search engine APIs to search for WMS “Capabilities” documents by including strings such as “url:REQUEST=GetCapabilities” in the Google API search query, then retrieving a “Capabilities” document by constructing a URL of the form: <http://wmsServerHost/path?REQUEST=GetCapabilities>. The search engine API query returns found URLs of this form that can then be processed to verify whether a URL returns a valid OGC Web Service “Capabilities” document. A recent Refractions Research OGC Web Services Survey has found over 1000 WMS Capabilities URLs.
WMS servers are sometimes advertised on the internet with a query within the URL string “REQUEST=GetCapabilities&SERVICE=WMS”, e.g., <http://wmsServerHost/path?REQUEST=GetCapabilities&SERVICE=WMS”, or with the WMS server URL but without the query term, e.g., <http://wmsServerHost/path> without the “REQUEST=GetCapabilities&SERVICE=WMS” appended. If a website hosts a spreadsheet or xml listing of WMS Servers advertised with only the WMS Server URL, Servers that conduct a search with a <http://wmsServerHost/path?REQUEST=GetCapabilities> query will be unable to find the website, for there is no URL pattern substring pattern to take advantage of.